Ways to Understand Class Diagrams
نویسنده
چکیده
The software industry needs well trained software designers and one important aspect of software design is the ability to model software designs visually and understand what visual models represent. However, previous research indicates that software design is a difficult task to many students. This paper reports empirical findings from a phenomenographic investigation on how students understand class diagrams, UML symbols and relations to object oriented concepts. The informants were 20 Computer Science students from four different universities in Sweden. The results show qualitively different ways to understand and describe UML class diagrams and the “diamond symbols” representing aggregation and composition. The purpose of class diagrams was understood in a varied way, from describing it as a documentation to a more advanced view related to communication. The descriptions of class diagrams varied from seeing them as a specification of classes to a more advanced view where they were described to show hierarchic structures of classes and relations. The diamond symbols were seen as “relations”and a more advanced way was seeing the white and the black diamonds as different symbols for aggregation and composition. As a consequence of the results, it is recommended that UML should be adopted in courses. It is briefly indicated how the phenomenographic results in combination with variation theory can be used by teachers to enhance students’ possibilities to reach advanced understanding of phenomena related to UML class diagrams. Moreover, it is recommended that teachers should put more effort in assessing skills in proper using of the basic symbols and models, and students should get many opportunities to practise collaborative design, e.g., using whiteboards.
منابع مشابه
Describing and Composing Patterns Using Role Diagrams
Design patterns are patterns of classes and objects that represent solutions to recurring design problems. They are usually described using class diagrams. Class diagrams, however, often intertwine the actual solution with efficient ways of implementing it. This paper uses role diagrams to describe and compose patterns. Role diagrams help designers focus on the collaborations and distribution o...
متن کاملUsing diagrammatic explorations to understand code
Understanding code is a significant challenge for developers. This thesis examines the limitations of current tools that use diagrams to assist code comprehension and demonstrates the value of four design principles: • That diagrams should be based on familiar models such as UML class diagrams and layered architectural diagrams, so that developers can understand them without additional training...
متن کاملAutomatically Extracting Class Diagrams from Spreadsheets
The use of spreadsheets to capture information is widespread in industry. Spreadsheets can thus be a wealthy source of domain information. We propose to automatically extract this information and transform it into class diagrams. The resulting class diagram can be used by software engineers to understand, refine, or re-implement the spreadsheet’s functionality. To enable the transformation into...
متن کاملSystem Model Semantics of Class Diagrams
Defining semantics for UML is a difficult task. Disagreements in the meaning of UML constructs as well as the size of UML are major obstacles. In this report, we describe our approach to define the semantics for UML. Semantics is defined denotationally as a mapping into our semantics domain called the system model [4, 5, 6]. We demonstrate our approach by defining the semantics for a comprehens...
متن کاملExtending the Sugiyama Algorithm for Drawing UML Class Diagrams: Towards Automatic Layout of Object-Oriented Software Diagrams
The automatic layout of software diagrams is a very attractive graph drawing application for use in software tools. Object-oriented software may be modelled using a visual language called the Uniied Modeling Language (UML). In this paper we present an algorithm for the automatic layout of UML class diagrams using an extension of the Sugiyama algorithm together with orthogonal drawing. These dia...
متن کامل